package com.pdg.mcplugin.invisiblehand.commandprocessors;

import org.bukkit.command.CommandSender;

import com.pdg.mcplugin.common.ArgumentList;
import com.pdg.mcplugin.common.baseclasses.CommandProcessorBase;
import com.pdg.mcplugin.invisiblehand.InvisibleHand;

public class AdminCommandProcessor extends CommandProcessorBase<InvisibleHand> {

	private static final String SUBCOMMAND_EXPORT = "EXPORT";
	private static final String SUBCOMMAND_IMPORT = "IMPORT";
	private static final String SUBCOMMAND_DEFAULT = "DEFAULT";
	private static final String SUBCOMMAND_DEFAULT_NETHER = "DEFAULT-NETHER";
	private static final String SUBCOMMAND_DEFAULT_END = "DEFAULT-END";

	public AdminCommandProcessor(InvisibleHand thePlugin) {
		super(thePlugin, new String[]{
				"/ih admin - help with the admin command",
				"/ih admin import - help with the admin import command",
				"/ih admin export - help with the admin export command",
				"/ih admin default - help with the admin default command",
				"/ih admin default-nether - help with the admin default-nether command",
				"/ih admin default-end - help with the admin default-end command"
		});
		setSubProcessor(SUBCOMMAND_EXPORT,new AdminExportCommandProcessor(thePlugin));
		setSubProcessor(SUBCOMMAND_IMPORT,new AdminImportCommandProcessor(thePlugin));
		setSubProcessor(SUBCOMMAND_DEFAULT,new AdminDefaultCommandProcessor(thePlugin));
		setSubProcessor(SUBCOMMAND_DEFAULT_NETHER,new AdminDefaultNetherCommandProcessor(thePlugin));
		setSubProcessor(SUBCOMMAND_DEFAULT_END,new AdminDefaultEndCommandProcessor(thePlugin));
	}

	@Override
	protected boolean specialProcessCommand(CommandSender theCommandSender,
			String theSubCommand, ArgumentList theArgumentList) {
		return false;
	}

}
